home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 03 - 1987 / 03.11 Nov 87 / C string library / PStrLib Source / PStrIns.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-10-21  |  525 b   |  29 lines  |  [TEXT/KAHL]

  1. /*    FILE:    PStrIns.c
  2.     Inserts src at pos of dst. */
  3. #include    "PStrLib.h"
  4.  
  5. PStrIns(src, dst, pos)
  6. unsigned char            *src;    /* Pascal string */
  7. register unsigned char    *dst;    /* Pascal string */
  8. register int            pos;
  9. {    
  10.     register    unsigned char    *s, *d;
  11.     register    int                len, shift;
  12.     
  13.     if (--pos + *src < 256) {
  14.         len = *src;
  15.         *dst += len;
  16.         shift = *dst - pos;
  17.         s = dst + *dst;
  18.         d = ++s + len;
  19.         while (--shift >= 0)
  20.             *--d = *--s;
  21.     }
  22.     else {
  23.         len = 255 - pos;
  24.         *dst = 255;
  25.     }
  26.     s = dst + pos;
  27.     while (--len >= 0)
  28.         *++s = *++src;
  29. }